The present invention relates to a technique for setting a cylinder discrimination value for discriminating a cylinder at a reference piston position and controlling fuel injection or ignition for each cylinder based on the cylinder discrimination value, in an internal combustion engine.
Japanese Unexamined Patent Publication No. 11-257148 discloses a method of setting a cylinder discrimination value based on a cylinder discriminating signal output from a cam sensor and controlling fuel injection and ignition for each cylinder based on the cylinder discrimination value.
The cylinder discrimination value is sequentially changed over for each stroke phase difference between cylinders in accordance with ignition order. Therefore, even if the cam sensor is failed, it is possible to estimate a present value from a previous value, following a normal time. As a result, by storing a cylinder discrimination value of immediately before an engine stop, it is possible to start the engine by a control for each cylinder even if the cam sensor has failed.
Unfortunately, if the engine is rotated in reverse immediately before the engine stops (and it becomes necessary to update the timing of cylinder discrimination value due to the reverse rotation), the cylinder discrimination value is improperly updated to a value corresponding to a cylinder of next ignition order in a forward rotation. Further, in the case where cranking is stopped before completion of engine start, the engine is rotated in reverse, and fuel is burned during the reverse rotation, the engine is further rotated. Thus, if the fuel is burned during the reverse rotation resulting in the engine being excessively rotated, the cylinder discrimination value at the engine stop cannot be judged accurately even if the reverse rotation of the engine is detected.